package com.tools.service.user;

import com.baomidou.mybatisplus.extension.service.IService;
import com.tools.common.result.Result;
import com.tools.pojo.user.po.UserRole;

import java.util.List;

public interface UserRoleService extends IService<UserRole> {

    /**
     * 添加用户角色关联
     * @param userId 用户ID
     * @param roleId 角色ID
     * @return 操作结果
     */
    Result<Void> addUserRole(Long userId, Long roleId);

    /**
     * 删除关联关系
     * @param id 关联记录ID
     * @return 操作结果
     */
    Result<Void> removeUserRole(Long id);

    /**
     * 批量删除关联关系
     * @param ids 关联记录ID列表
     * @return 操作结果
     */
    Result<Void> batchRemoveUserRole(List<Long> ids);

    /**
     * 获取用户关联的角色ID列表
     * @param userId 用户ID
     * @return 角色ID列表
     */
    Result<List<Long>> getUserRoles(Long userId);

    /**
     * 获取角色关联的用户ID列表
     * @param roleId 角色ID
     * @return 用户ID列表
     */
    Result<List<Long>> getRoleUsers(Long roleId);
}
